<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" data-whc_version="25.0">
    <head><link rel="shortcut icon" href="../../../oxygen-webhelp/template/images/favicon.png"/><link rel="icon" href="../../../oxygen-webhelp/template/images/favicon.png"/><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta name="copyright" content="(C) Copyright 2024"/><meta name="generator" content="DITA-OT"/><meta name="description" content="The Snowflake executor runs one or more user-defined SQL queries each time it receives an event record. For information about supported versions, see Supported Systems and Versions . Use the executor ..."/><meta name="prodname" content="Data Collector"/><meta name="version" content="3"/><meta name="release" content="16"/><meta name="modification" content="0"/>        
      <title>Snowflake</title><!--  Generated with Oxygen version 25.1, build number 2023042410.  --><meta name="wh-path2root" content="../../../"/><meta name="wh-toc-id" content="concept_xrx_crn_4qb-d16893e59241"/><meta name="wh-source-relpath" content="datacollector/UserGuide/Executors/Snowflake-E.dita"/><meta name="wh-out-relpath" content="datacollector/UserGuide/Executors/Snowflake-E.html"/>

    <link rel="stylesheet" type="text/css" href="../../../oxygen-webhelp/app/commons.css?buildId=2023042410"/>
    <link rel="stylesheet" type="text/css" href="../../../oxygen-webhelp/app/topic.css?buildId=2023042410"/>

    <script src="../../../oxygen-webhelp/app/options/properties.js?buildId=20240802104629"></script>
    <script src="../../../oxygen-webhelp/app/localization/strings.js?buildId=2023042410"></script>
    <script src="../../../oxygen-webhelp/app/search/index/keywords.js?buildId=20240802104629"></script>
    <script defer="defer" src="../../../oxygen-webhelp/app/commons.js?buildId=2023042410"></script>
    <script defer="defer" src="../../../oxygen-webhelp/app/topic.js?buildId=2023042410"></script>
<link rel="stylesheet" type="text/css" href="../../../oxygen-webhelp/template/light.css?buildId=2023042410"/><link rel="stylesheet" type="text/css" href="../../../skin.css"/></head>

    <body class="wh_topic_page frmBody">
        
        
        

        
<nav class="navbar navbar-default wh_header" data-whc_version="25.0">
    <div class="container-fluid">
        <div class="wh_header_flex_container navbar-nav navbar-expand-md navbar-dark">
            <div class="wh_logo_and_publication_title_container">
                <div class="wh_logo_and_publication_title">
                    
                    <!--
                            This component will be generated when the next parameters are specified in the transformation scenario:
                            'webhelp.logo.image' and 'webhelp.logo.image.target.url'.
                            See: http://oxygenxml.com/doc/versions/17.1/ug-editor/#topics/dita_webhelp_output.html.
                    -->
                    
                    <div class=" wh_publication_title "><a href="../../../index.html"><span class="booktitle">  <span class="ph mainbooktitle"><span class="ph">Data Collector</span> User Guide</span>  </span></a></div>
                    
                </div>
                
                <!-- The menu button for mobile devices is copied in the output only when the 'webhelp.show.top.menu' parameter is set to 'yes' -->
                
            </div>

            <div class="wh_top_menu_and_indexterms_link collapse navbar-collapse">
                
                
                <div class=" wh_indexterms_link "><a href="../../../indexTerms.html" title="Index" aria-label="Go to index terms page"><span>Index</span></a></div>
                
            </div>
        </div>
    </div>
</nav>

        <div class=" wh_search_input navbar-form wh_topic_page_search search " role="form">


<form id="searchForm" method="get" role="search" action="../../../search.html"><div><input type="search" placeholder="Search " class="wh_search_textfield" id="textToSearch" name="searchQuery" aria-label="Search query" required="required"/><button type="submit" class="wh_search_button" aria-label="Search"><span class="search_input_text">Search</span></button></div></form>

</div>
        
        <div class="container-fluid">
            <div class="row">

                <nav class="wh_tools d-print-none">
                    
<div data-tooltip-position="bottom" class=" wh_breadcrumb "><ol class="d-print-none"><li><span class="home"><a href="../../../index.html"><span>Home</span></a></span></li><li><div class="topicref" data-id="concept_umc_1lk_fx"><div class="title"><a href="../../../datacollector/UserGuide/Executors/Executors-title.html">Executors</a></div></div></li><li class="active"><div class="topicref" data-id="concept_xrx_crn_4qb"><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#concept_xrx_crn_4qb">Snowflake</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li></ol></div>



                    <div class="wh_right_tools "><button class="wh_hide_highlight" aria-label="Toggle search highlights" title="Toggle search highlights"></button><button class="webhelp_expand_collapse_sections" data-next-state="collapsed" aria-label="Collapse sections" title="Collapse sections"></button><div class=" wh_navigation_links "><span id="topic_navigation_links" class="navheader">
  
<span class="navprev"><a class="- topic/link link" href="../../../datacollector/UserGuide/Executors/Shell.html#concept_jsr_zpw_tz" title="Shell" aria-label="Previous topic: Shell" rel="prev"></a></span>  
<span class="navnext"><a class="- topic/link link" href="../../../datacollector/UserGuide/Executors/Spark.html#concept_cvy_vxb_1z" title="Spark" aria-label="Next topic: Spark" rel="next"></a></span>  </span></div>
<!--External resource link-->
<div class=" wh_print_link print d-none d-md-inline-block "><button onClick="window.print()" title="Print this page" aria-label="Print this page"></button></div>
                        
                        
                        
                        
                    </div>
                </nav>
            </div>

            

<div class="wh_content_area">
                <div class="row">
                    


                        <nav role="navigation" id="wh_publication_toc" class="col-lg-3 col-md-3 col-sm-12 d-md-block d-none d-print-none">
<div id="wh_publication_toc_content">


                            <div class=" wh_publication_toc " data-tooltip-position="right"><span class="expand-button-action-labels"><span id="button-expand-action" role="button" aria-label="Expand"></span><span id="button-collapse-action" role="button" aria-label="Collapse"></span><span id="button-pending-action" role="button" aria-label="Pending"></span></span><ul role="tree" aria-label="Table of Contents"><li role="treeitem" aria-expanded="false"><div data-tocid="concept_htw_ghg_jq-d16893e53" class="topicref" data-id="concept_htw_ghg_jq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_htw_ghg_jq-d16893e53-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Getting_Started/GettingStarted_Title.html#concept_htw_ghg_jq" id="concept_htw_ghg_jq-d16893e53-link">Getting Started</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_l2v_nlp_mpb-d16893e331" class="topicref" data-id="concept_l2v_nlp_mpb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_l2v_nlp_mpb-d16893e331-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/ReleaseNotes/ReleaseNotes.html#concept_l2v_nlp_mpb" id="concept_l2v_nlp_mpb-d16893e331-link">Release Notes</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_l4q_flb_kr-d16893e2582" class="topicref" data-id="concept_l4q_flb_kr" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_l4q_flb_kr-d16893e2582-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Installation/Install_title.html" id="concept_l4q_flb_kr-d16893e2582-link">Installation</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_ylh_yyz_ky-d16893e3984" class="topicref" data-id="concept_ylh_yyz_ky" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_ylh_yyz_ky-d16893e3984-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Configuration/Config_title.html" id="concept_ylh_yyz_ky-d16893e3984-link">Configuration</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_ejk_f1f_5v-d16893e7058" class="topicref" data-id="concept_ejk_f1f_5v" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_ejk_f1f_5v-d16893e7058-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Upgrade/Upgrade_title.html" id="concept_ejk_f1f_5v-d16893e7058-link">Upgrade</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_qsw_cjy_bt-d16893e10103" class="topicref" data-id="concept_qsw_cjy_bt" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_qsw_cjy_bt-d16893e10103-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Pipeline_Design/PipelineDesign_title.html" id="concept_qsw_cjy_bt-d16893e10103-link">Pipeline Concepts and Design</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_qn1_wn4_kq-d16893e11199" class="topicref" data-id="concept_qn1_wn4_kq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_qn1_wn4_kq-d16893e11199-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Pipeline_Configuration/PipelineConfiguration_title.html" id="concept_qn1_wn4_kq-d16893e11199-link">Pipeline Configuration</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_hdr_gyw_41b-d16893e13057" class="topicref" data-id="concept_hdr_gyw_41b" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_hdr_gyw_41b-d16893e13057-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Data_Formats/DataFormats-Title.html" id="concept_hdr_gyw_41b-d16893e13057-link">Data Formats</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_yjl_nc5_jq-d16893e14164" class="topicref" data-id="concept_yjl_nc5_jq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_yjl_nc5_jq-d16893e14164-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Origins/Origins_title.html" id="concept_yjl_nc5_jq-d16893e14164-link">Origins</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_yjl_nc5_jq-d16893e35197" class="topicref" data-id="concept_yjl_nc5_jq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_yjl_nc5_jq-d16893e35197-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Processors/Processors_title.html" id="concept_yjl_nc5_jq-d16893e35197-link">Processors</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_agj_cfj_br-d16893e44037" class="topicref" data-id="concept_agj_cfj_br" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_agj_cfj_br-d16893e44037-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Destinations/Destinations-title.html" id="concept_agj_cfj_br-d16893e44037-link">Destinations</a></div></div></li><li role="treeitem" aria-expanded="true"><div data-tocid="concept_umc_1lk_fx-d16893e56072" class="topicref" data-id="concept_umc_1lk_fx" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action concept_umc_1lk_fx-d16893e56072-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Executors-title.html" id="concept_umc_1lk_fx-d16893e56072-link">Executors</a></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem"><div data-tocid="concept_stt_2lk_fx-d16893e56094" class="topicref" data-id="concept_stt_2lk_fx" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Executors-overview.html#concept_stt_2lk_fx" id="concept_stt_2lk_fx-d16893e56094-link">Executors</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_zhp_ldk_xhb-d16893e56118" class="topicref" data-id="concept_zhp_ldk_xhb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_zhp_ldk_xhb-d16893e56118-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/ADLS-G1-FileMeta.html#concept_zhp_ldk_xhb" id="concept_zhp_ldk_xhb-d16893e56118-link">ADLS Gen1 File Metadata (deprecated)</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_i22_k2k_xhb-d16893e56416" class="topicref" data-id="concept_i22_k2k_xhb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_i22_k2k_xhb-d16893e56416-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/ADLS-G2-FileMeta.html#concept_i22_k2k_xhb" id="concept_i22_k2k_xhb-d16893e56416-link">ADLS Gen2 File Metadata</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_mvh_bnm_f1b-d16893e56714" class="topicref" data-id="concept_mvh_bnm_f1b" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_mvh_bnm_f1b-d16893e56714-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/AmazonS3.html#concept_mvh_bnm_f1b" id="concept_mvh_bnm_f1b-d16893e56714-link">Amazon S3</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_fdc_qrx_jz-d16893e56919" class="topicref" data-id="concept_fdc_qrx_jz" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_fdc_qrx_jz-d16893e56919-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Databricks.html#concept_fdc_qrx_jz" id="concept_fdc_qrx_jz-d16893e56919-link">Databricks Job Launcher</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_bzl_3fq_zjb-d16893e57061" class="topicref" data-id="concept_bzl_3fq_zjb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_bzl_3fq_zjb-d16893e57061-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/DatabricksQuery.html#concept_bzl_3fq_zjb" id="concept_bzl_3fq_zjb-d16893e57061-link">Databricks Query </a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_sjs_sfp_qz-d16893e57252" class="topicref" data-id="concept_sjs_sfp_qz" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_sjs_sfp_qz-d16893e57252-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Email.html#concept_sjs_sfp_qz" id="concept_sjs_sfp_qz-d16893e57252-link">Email</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_xym_npb_3qb-d16893e57364" class="topicref" data-id="concept_xym_npb_3qb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_xym_npb_3qb-d16893e57364-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/GCS-E.html#concept_xym_npb_3qb" id="concept_xym_npb_3qb-d16893e57364-link">Google Cloud Storage</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_sqc_w4w_ktb-d16893e57554" class="topicref" data-id="concept_sqc_w4w_ktb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_sqc_w4w_ktb-d16893e57554-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/GBQuery-E.html#concept_sqc_w4w_ktb" id="concept_sqc_w4w_ktb-d16893e57554-link">Google BigQuery</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_wgj_slk_fx-d16893e57718" class="topicref" data-id="concept_wgj_slk_fx" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_wgj_slk_fx-d16893e57718-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/HDFSMetadata.html#concept_wgj_slk_fx" id="concept_wgj_slk_fx-d16893e57718-link">HDFS File Metadata</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_kjw_llk_fx-d16893e58029" class="topicref" data-id="concept_kjw_llk_fx" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_kjw_llk_fx-d16893e58029-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/HiveQuery.html#concept_kjw_llk_fx" id="concept_kjw_llk_fx-d16893e58029-link">Hive Query</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_j3r_gcv_sx-d16893e58207" class="topicref" data-id="concept_j3r_gcv_sx" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_j3r_gcv_sx-d16893e58207-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/JDBCQuery.html#concept_j3r_gcv_sx" id="concept_j3r_gcv_sx-d16893e58207-link">JDBC Query</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_ohx_r5h_z1b-d16893e58370" class="topicref" data-id="concept_ohx_r5h_z1b" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_ohx_r5h_z1b-d16893e58370-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/MapRFSFileMeta.html#concept_ohx_r5h_z1b" id="concept_ohx_r5h_z1b-d16893e58370-link">MapR FS File Metadata</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_bj2_zlk_fx-d16893e58680" class="topicref" data-id="concept_bj2_zlk_fx" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_bj2_zlk_fx-d16893e58680-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/MapReduce.html#concept_bj2_zlk_fx" id="concept_bj2_zlk_fx-d16893e58680-link">MapReduce</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_qzm_l4r_kz-d16893e58905" class="topicref" data-id="concept_qzm_l4r_kz" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_qzm_l4r_kz-d16893e58905-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/PipelineFinisher.html#concept_qzm_l4r_kz" id="concept_qzm_l4r_kz-d16893e58905-link">Pipeline Finisher</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_kcf_sn2_jlb-d16893e59039" class="topicref" data-id="concept_kcf_sn2_jlb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_kcf_sn2_jlb-d16893e59039-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/SFTP.html#concept_kcf_sn2_jlb" id="concept_kcf_sn2_jlb-d16893e59039-link">SFTP/FTP/FTPS Client</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_jsr_zpw_tz-d16893e59107" class="topicref" data-id="concept_jsr_zpw_tz" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_jsr_zpw_tz-d16893e59107-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Shell.html#concept_jsr_zpw_tz" id="concept_jsr_zpw_tz-d16893e59107-link">Shell</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="true" class="active"><div data-tocid="concept_xrx_crn_4qb-d16893e59241" class="topicref" data-id="concept_xrx_crn_4qb" data-state="expanded"><span role="button" tabindex="0" aria-labelledby="button-collapse-action concept_xrx_crn_4qb-d16893e59241-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#concept_xrx_crn_4qb" id="concept_xrx_crn_4qb-d16893e59241-link">Snowflake</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div><ul role="group" class="navbar-nav nav-list"><li role="treeitem"><div data-tocid="concept_f4z_zzn_4qb-d16893e59265" class="topicref" data-id="concept_f4z_zzn_4qb" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#concept_f4z_zzn_4qb" id="concept_f4z_zzn_4qb-d16893e59265-link">Prerequisite</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_org_sdw_rqb-d16893e59287" class="topicref" data-id="concept_org_sdw_rqb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_org_sdw_rqb-d16893e59287-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#concept_org_sdw_rqb" id="concept_org_sdw_rqb-d16893e59287-link">Implementation Notes</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem"><div data-tocid="concept_ct5_ynb_pqb-d16893e59335" class="topicref" data-id="concept_ct5_ynb_pqb" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#concept_ct5_ynb_pqb" id="concept_ct5_ynb_pqb-d16893e59335-link">Define a Role</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem"><div data-tocid="concept_cft_qxm_qqb-d16893e59359" class="topicref" data-id="concept_cft_qxm_qqb" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#concept_cft_qxm_qqb" id="concept_cft_qxm_qqb-d16893e59359-link">SQL Queries</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_tbs_2qx_rqb-d16893e59381" class="topicref" data-id="concept_tbs_2qx_rqb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_tbs_2qx_rqb-d16893e59381-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#concept_tbs_2qx_rqb" id="concept_tbs_2qx_rqb-d16893e59381-link">Event Generation</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem"><div data-tocid="task_ftt_2rn_4qb-d16893e59429" class="topicref" data-id="task_ftt_2rn_4qb" data-state="leaf"><span role="button" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Snowflake-E.html#task_ftt_2rn_4qb" id="task_ftt_2rn_4qb-d16893e59429-link">Configuring a Snowflake Executor</a></div></div></li></ul></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_cvy_vxb_1z-d16893e59451" class="topicref" data-id="concept_cvy_vxb_1z" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_cvy_vxb_1z-d16893e59451-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Executors/Spark.html#concept_cvy_vxb_1z" id="concept_cvy_vxb_1z-d16893e59451-link">Spark</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li></ul></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_xxd_f5r_kx-d16893e59696" class="topicref" data-id="concept_xxd_f5r_kx" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_xxd_f5r_kx-d16893e59696-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Event_Handling/EventFramework-Title.html#concept_xxd_f5r_kx" id="concept_xxd_f5r_kx-d16893e59696-link">Dataflow Triggers</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_zq5_pb4_flb-d16893e60134" class="topicref" data-id="concept_zq5_pb4_flb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_zq5_pb4_flb-d16893e60134-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Solutions/Solutions-title.html" id="concept_zq5_pb4_flb-d16893e60134-link">Solutions</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_ugp_kwf_xw-d16893e61337" class="topicref" data-id="concept_ugp_kwf_xw" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_ugp_kwf_xw-d16893e61337-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/DPM/DPM_title.html" id="concept_ugp_kwf_xw-d16893e61337-link">StreamSets Control Hub</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_fyf_gkq_4bb-d16893e62693" class="topicref" data-id="concept_fyf_gkq_4bb" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_fyf_gkq_4bb-d16893e62693-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Edge_Mode/EdgePipelines_title.html" id="concept_fyf_gkq_4bb-d16893e62693-link"><span class="ph">StreamSets Data Collector Edge</span></a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_wwq_gxc_py-d16893e63980" class="topicref" data-id="concept_wwq_gxc_py" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_wwq_gxc_py-d16893e63980-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Multithreaded_Pipelines/MultithreadedPipelines.html#concept_wwq_gxc_py" id="concept_wwq_gxc_py-d16893e63980-link">Multithreaded Pipelines</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_gzw_tdm_p2b-d16893e64187" class="topicref" data-id="concept_gzw_tdm_p2b" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_gzw_tdm_p2b-d16893e64187-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Microservice/Microservice_Title.html#concept_gzw_tdm_p2b" id="concept_gzw_tdm_p2b-d16893e64187-link">Microservice Pipelines</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="Orchestrators_Title-d16893e64348" class="topicref" data-id="Orchestrators_Title" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action Orchestrators_Title-d16893e64348-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Orchestration_Pipelines/OrchestrationPipelines_Title.html#Orchestrators_Title" id="Orchestrators_Title-d16893e64348-link">Orchestration Pipelines</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_wr1_ktz_bt-d16893e64489" class="topicref" data-id="concept_wr1_ktz_bt" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_wr1_ktz_bt-d16893e64489-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/RPC_Pipelines/SDC_RPCpipelines_title.html#concept_wr1_ktz_bt" id="concept_wr1_ktz_bt-d16893e64489-link">SDC RPC Pipelines</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_fpz_5r4_vs-d16893e64679" class="topicref" data-id="concept_fpz_5r4_vs" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_fpz_5r4_vs-d16893e64679-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Cluster_Mode/ClusterPipelines_title.html" id="concept_fpz_5r4_vs-d16893e64679-link">Cluster Pipelines</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_jjk_23z_sq-d16893e65172" class="topicref" data-id="concept_jjk_23z_sq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_jjk_23z_sq-d16893e65172-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Data_Preview/DataPreview_Title.html#concept_jjk_23z_sq" id="concept_jjk_23z_sq-d16893e65172-link">Data Preview</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_pgk_brx_rr-d16893e65458" class="topicref" data-id="concept_pgk_brx_rr" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_pgk_brx_rr-d16893e65458-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Alerts/RulesAlerts_title.html#concept_pgk_brx_rr" id="concept_pgk_brx_rr-d16893e65458-link">Rules and Alerts</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_asx_fdz_sq-d16893e65960" class="topicref" data-id="concept_asx_fdz_sq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_asx_fdz_sq-d16893e65960-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Pipeline_Monitoring/PipelineMonitoring_title.html#concept_asx_fdz_sq" id="concept_asx_fdz_sq-d16893e65960-link">Pipeline Monitoring</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_o3l_dtr_5q-d16893e66304" class="topicref" data-id="concept_o3l_dtr_5q" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_o3l_dtr_5q-d16893e66304-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Pipeline_Maintenance/PipelineMaintenance_title.html#concept_o3l_dtr_5q" id="concept_o3l_dtr_5q-d16893e66304-link">Pipeline Maintenance</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_yms_ftm_sq-d16893e66768" class="topicref" data-id="concept_yms_ftm_sq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_yms_ftm_sq-d16893e66768-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Administration/Administration_title.html#concept_yms_ftm_sq" id="concept_yms_ftm_sq-d16893e66768-link">Administration</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_nls_w1r_ks-d16893e67508" class="topicref" data-id="concept_nls_w1r_ks" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_nls_w1r_ks-d16893e67508-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Tutorial/Tutorial-title.html" id="concept_nls_w1r_ks-d16893e67508-link">Tutorial</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_sh3_frm_tq-d16893e68001" class="topicref" data-id="concept_sh3_frm_tq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_sh3_frm_tq-d16893e68001-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Troubleshooting/Troubleshooting_title.html#concept_sh3_frm_tq" id="concept_sh3_frm_tq-d16893e68001-link">Troubleshooting</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_xbx_rs1_tq-d16893e68798" class="topicref" data-id="concept_xbx_rs1_tq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_xbx_rs1_tq-d16893e68798-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Glossary/Glossary_title.html#concept_xbx_rs1_tq" id="concept_xbx_rs1_tq-d16893e68798-link">Glossary</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_jn1_nzb_kv-d16893e68843" class="topicref" data-id="concept_jn1_nzb_kv" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_jn1_nzb_kv-d16893e68843-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Apx-DataFormats/DataFormat_Title.html#concept_jn1_nzb_kv" id="concept_jn1_nzb_kv-d16893e68843-link">Data Formats by Stage</a><div class="wh-tooltip"><p class="shortdesc"></p></div></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_pvm_yt3_wq-d16893e68958" class="topicref" data-id="concept_pvm_yt3_wq" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_pvm_yt3_wq-d16893e68958-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Expression_Language/ExpressionLanguage_title.html" id="concept_pvm_yt3_wq-d16893e68958-link">Expression Language</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_vcj_1ws_js-d16893e69669" class="topicref" data-id="concept_vcj_1ws_js" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_vcj_1ws_js-d16893e69669-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Apx-RegEx/RegEx-Title.html#concept_vcj_1ws_js" id="concept_vcj_1ws_js-d16893e69669-link">Regular Expressions</a></div></div></li><li role="treeitem" aria-expanded="false"><div data-tocid="concept_chv_vmj_wr-d16893e69787" class="topicref" data-id="concept_chv_vmj_wr" data-state="not-ready"><span role="button" tabindex="0" aria-labelledby="button-expand-action concept_chv_vmj_wr-d16893e69787-link" class="wh-expand-btn"></span><div class="title"><a href="../../../datacollector/UserGuide/Apx-GrokPatterns/GrokPatterns_title.html#concept_chv_vmj_wr" id="concept_chv_vmj_wr-d16893e69787-link">Grok Patterns</a></div></div></li></ul></div>
                        

</div>
</nav>
                    


                    
                    <div id="wh_topic_body" class="col-lg-7 col-md-9 col-sm-12">
<button id="wh_close_publication_toc_button" class="close-toc-button d-none" aria-label="Toggle publishing table of content" aria-controls="wh_publication_toc" aria-expanded="true"><span class="close-toc-icon-container"><span class="close-toc-icon"></span></span></button><button id="wh_close_topic_toc_button" class="close-toc-button d-none" aria-label="Toggle topic table of content" aria-controls="wh_topic_toc" aria-expanded="true"><span class="close-toc-icon-container"><span class="close-toc-icon"></span></span></button>

                        
<div class=" wh_topic_content body "><main role="main"><article class="" role="article" aria-labelledby="ariaid-title1"><article class="nested0" aria-labelledby="ariaid-title1" id="concept_xrx_crn_4qb">
    <h1 class="- topic/title title topictitle1" id="ariaid-title1">Snowflake</h1>
    
    <div class="- topic/body concept/conbody body conbody"><p class="- topic/shortdesc shortdesc"></p>
        <p class="- topic/p p">The Snowflake executor runs one or more user-defined SQL queries each time it receives an
            event record. <span class="- topic/ph ph">For information about supported versions, see <a class="- topic/xref xref" href="../Installation/SupportedSystemVersions.html#concept_s5h_bcr_n4b">Supported Systems and Versions</a>.</span></p>
        <p class="- topic/p p">Use the executor to run queries as part of an event stream. <span class="- topic/ph ph">The executor is designed to load whole files staged by the
                              <a class="- topic/xref xref" href="../Destinations/SnowflakeFileUploader.html#concept_jmh_p25_4qb">Snowflake File Uploader</a> destination to Snowflake tables each
                        time that the executor receives an event record. However, you can use the
                        executor to execute any JDBC query supported by Snowflake.</span></p>
        <p class="- topic/p p">Before you use the Snowflake executor, you must complete a prerequisite task. </p>
        <p class="- topic/p p">When you configure the executor, you specify connection information, one or more SQL
            queries to run, and how to submit the queries.</p>
        <p class="- topic/p p">You can also configure the executor to generate events for another event stream, and
            whether you want record count information included in generated event records. <span class="- topic/ph ph">For more information about dataflow
                        triggers and the event framework, see <a class="- topic/xref xref" href="../Event_Handling/EventFramework-Title.html#concept_cph_5h4_lx">Dataflow Triggers Overview</a>.</span></p>
    </div>
<article class="- topic/topic concept/concept topic concept nested1" aria-labelledby="ariaid-title2" id="concept_f4z_zzn_4qb">
    <h2 class="- topic/title title topictitle2" id="ariaid-title2">Prerequisite</h2>
    <div class="- topic/body concept/conbody body conbody">
        <p class="- topic/p p">Writing data to Snowflake requires that the user specified in the stage has the
            appropriate Snowflake privileges. The privileges differ depending on the method you use
            to write to Snowflake. Though you can use any command in the query, the privileges
            required for the most common commands are below. </p>
        <p class="- topic/p p">When using other commands, see the Snowflake documentation to ensure that the user in the
            stage has the required privileges.</p>
        <div class="- topic/p p">
            <dl class="- topic/dl dl">
                
                    <dt class="- topic/dt dt dlterm">COPY command</dt>
                    <dd class="- topic/dd dd">When you use the COPY command to load data to Snowflake, the user must have
                        a Snowflake role with one of the following sets of access privileges:<div class="table-container"><table class="- topic/table table frame-all" id="concept_f4z_zzn_4qb__table_sds_hqb_pqb" data-ofbid="concept_f4z_zzn_4qb__table_sds_hqb_pqb" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
            <tr class="- topic/row">
              <th class="- topic/entry entry colsep-1 rowsep-1" id="concept_f4z_zzn_4qb__table_sds_hqb_pqb__entry__1">Object Type</th>
              <th class="- topic/entry entry colsep-0 rowsep-1" id="concept_f4z_zzn_4qb__table_sds_hqb_pqb__entry__2">Privilege</th>
            </tr>
          </thead><tbody class="- topic/tbody tbody">
            <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="concept_f4z_zzn_4qb__table_sds_hqb_pqb__entry__1">Internal Snowflake stage</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="concept_f4z_zzn_4qb__table_sds_hqb_pqb__entry__2">READ, WRITE</td>
            </tr>
            <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-0" headers="concept_f4z_zzn_4qb__table_sds_hqb_pqb__entry__1">Table</td>
              <td class="- topic/entry entry colsep-0 rowsep-0" headers="concept_f4z_zzn_4qb__table_sds_hqb_pqb__entry__2">SELECT, INSERT</td>
            </tr>
          </tbody></table></div></dd>
                
                
                    <dt class="- topic/dt dt dlterm">MERGE command</dt>
                    <dd class="- topic/dd dd">When you use the MERGE command to load data to Snowflake, the user must have
                        a Snowflake role with one of the following sets of access privileges:<div class="table-container"><table class="- topic/table table frame-all" id="concept_f4z_zzn_4qb__table_x4h_xf1_cwb" data-ofbid="concept_f4z_zzn_4qb__table_x4h_xf1_cwb" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
            <tr class="- topic/row">
              <th class="- topic/entry entry colsep-1 rowsep-1" id="concept_f4z_zzn_4qb__table_x4h_xf1_cwb__entry__1">Object Type</th>
              <th class="- topic/entry entry colsep-0 rowsep-1" id="concept_f4z_zzn_4qb__table_x4h_xf1_cwb__entry__2">Privilege</th>
            </tr>
          </thead><tbody class="- topic/tbody tbody">
            <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="concept_f4z_zzn_4qb__table_x4h_xf1_cwb__entry__1">Internal Snowflake stage</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="concept_f4z_zzn_4qb__table_x4h_xf1_cwb__entry__2">READ, WRITE</td>
            </tr>
            <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-0" headers="concept_f4z_zzn_4qb__table_x4h_xf1_cwb__entry__1">Table</td>
              <td class="- topic/entry entry colsep-0 rowsep-0" headers="concept_f4z_zzn_4qb__table_x4h_xf1_cwb__entry__2">SELECT, INSERT, UPDATE, DELETE</td>
            </tr>
          </tbody></table></div></dd>
                
            </dl>
        </div>
    </div>
</article><article class="- topic/topic concept/concept topic concept nested1" aria-labelledby="ariaid-title3" id="concept_org_sdw_rqb">
    <h2 class="- topic/title title topictitle2" id="ariaid-title3">Implementation Notes</h2>
    
    <div class="- topic/body concept/conbody body conbody"><p class="- topic/shortdesc shortdesc"></p>
        <p class="- topic/p p">Note
            the following implementation requirements when working with the Snowflake executor:</p>
        <div class="- topic/p p">
            <ul class="- topic/ul ul" id="concept_org_sdw_rqb__ul_amy_w4w_rqb" data-ofbid="concept_org_sdw_rqb__ul_amy_w4w_rqb">
                <li class="- topic/li li"><span class="- topic/ph ph">The executor is designed to load whole files staged by the
                              <a class="- topic/xref xref" href="../Destinations/SnowflakeFileUploader.html#concept_jmh_p25_4qb">Snowflake File Uploader</a> destination to Snowflake tables each
                        time that the executor receives an event record. However, you can use the
                        executor to execute any JDBC query supported by Snowflake.</span></li>
                <li class="- topic/li li"><span class="- topic/ph ph">StreamSets recommends configuring the Snowflake
                        warehouse to auto-resume upon receiving new queries.</span></li>
            </ul>
        </div>
    </div>
<article class="- topic/topic concept/concept topic concept nested2" aria-labelledby="ariaid-title4" id="concept_kcl_1pw_rqb">
    <h3 class="- topic/title title topictitle3" id="ariaid-title4">Snowflake File Uploader and Executor Pipelines</h3>
    
    <div class="- topic/body concept/conbody body conbody"><p class="- topic/shortdesc shortdesc"></p>
        <p class="- topic/p p">Use the Snowflake executor to load data to
            Snowflake after it is placed by the Snowflake File Uploader destination into an internal
            stage. </p>
        <p class="- topic/p p">The Snowflake File Uploader destination processes only <a class="- topic/xref xref" href="../Data_Formats/WholeFile.html#concept_nfc_qkh_xw">whole file</a> data,
            which typically requires a simple origin to destination pipeline. As a result, the
            typical Snowflake executor pipeline is also simple:</p>
        <p class="- topic/p p"><img class="- topic/image image" id="concept_kcl_1pw_rqb__image_acw_fq2_sqb" src="../Graphics/SnowflakeExecutor-FileUploader-Pipeline.png" height="217" width="470"/></p>
        <div class="- topic/p p">The pipeline consists of the following stages:<dl class="- topic/dl dl">
                
                    <dt class="- topic/dt dt dlterm">Whole file origin</dt>
                    <dd class="- topic/dd dd">Since the Snowflake File Uploader destination processes only <a class="- topic/xref xref" href="../Data_Formats/WholeFile.html#concept_nfc_qkh_xw">whole
                            file</a> data, you must use a whole file origin to read data for the
                        pipeline. For a list of origins that process whole file data, see <a class="- topic/xref xref" href="../Apx-DataFormats/DataFormat_Title.html#concept_kgd_11c_kv">Data Formats
                            by Stage</a>.</dd>
                    <dd class="- topic/dd dd ddexpand">When you configure the origin, select Whole File for the data format. </dd>
                
                
                    <dt class="- topic/dt dt dlterm">Snowflake File Uploader destination</dt>
                    <dd class="- topic/dd dd">The Snowflake File Uploader destination processes whole files efficiently
                        and stages output files to an internal Snowflake stage. </dd>
                    <dd class="- topic/dd dd ddexpand">You configure the destination to generate events so the Snowflake executor
                        can load each file to Snowflake tables as soon as each file is written. </dd>
                    <dd class="- topic/dd dd ddexpand">When you configure the destination, select the Produce Events property on
                        the General tab of the destination.</dd>
                
                
                    <dt class="- topic/dt dt dlterm">Snowflake executor </dt>
                    <dd class="- topic/dd dd">The Snowflake executor submits one or more user-defined SQL queries to
                        Snowflake upon receiving an event record. You configure the executor to load
                        each staged file to the appropriate Snowflake stage.</dd>
                    <dd class="- topic/dd dd ddexpand">You configure the SQL queries to use on the Queries tab of the stage
                        properties, and specify whether the queries should be submitted
                        consecutively or simultaneously. In the queries, you define the files to
                        load and the Snowflake table to write them to. You can define the following
                        expression to use the file name specified in the Snowflake File Uploader
                        event record:
                        <code class="+ topic/ph pr-d/codeph ph codeph">${record:value('<code class="+ topic/ph pr-d/codeph ph codeph">/filename</code>')}</code>. </dd>
                    <dd class="- topic/dd dd ddexpand">For example, to load all files written by the Snowflake File Uploader
                        destination to a single Snowflake table, you might use the following
                        query:<pre class="+ topic/pre pr-d/codeblock pre codeblock"><code>COPY into <em class="+ topic/ph hi-d/i ph i">&lt;target_warehouse&gt;.</em>&lt;target_database&gt;.&lt;target_schema&gt;.&lt;target_table&gt; 
from @<em class="+ topic/ph hi-d/i ph i">&lt;staging_warehouse&gt;.</em>&lt;staging_database&gt;.&lt;staging_schema&gt;.&lt;internal_stage/${record:value('/filename')}&gt;;</code></pre></dd>
                
            </dl></div>
        <p class="- topic/p p">When the pipeline runs, the Snowflake File Uploader destination generates an event record
            each time that it writes a file. The Snowflake executor then submits the queries to
            Snowflake, loading the staged files to Snowflake tables as specified in the queries.</p>
    </div>
</article></article><article class="- topic/topic concept/concept topic concept nested1" aria-labelledby="ariaid-title5" id="concept_ct5_ynb_pqb">
    <h2 class="- topic/title title topictitle2" id="ariaid-title5">Define a Role</h2>
    
    <div class="- topic/body concept/conbody body conbody"><p class="- topic/shortdesc shortdesc"></p>
        <p class="- topic/p p">The Snowflake executor requires a Snowflake role that grants all privileges needed to
            load data using the specified query. Each load method requires a different set of
            privileges.</p>
        <p class="- topic/p p">Before configuring the executor, ensure that you have granted the required privileges to
            a Snowflake role, as explained in <a class="- topic/xref xref" href="Snowflake-E.html#concept_f4z_zzn_4qb">Prerequisite</a>.</p>
        <div class="- topic/p p">If you create a custom role with the required privileges, define the
            role that the stage uses in one of the following ways:<dl class="- topic/dl dl">
                
                    <dt class="- topic/dt dt dlterm">Assign the custom role as the default role</dt>
                    <dd class="- topic/dd dd">In Snowflake, assign the custom role as the default role for the Snowflake
                        user account specified in the stage. A Snowflake user account is associated
                        with a single default role. </dd>
                
                
                    <dt class="- topic/dt dt dlterm">Override the default role with the custom role</dt>
                    <dd class="- topic/dd dd">In the stage, use the Role property to specify the name of the custom role.
                        The custom role overrides the role assigned to the Snowflake user account
                        specified in the stage. </dd>
                    <dd class="- topic/dd dd ddexpand">For example, you might define custom roles in Snowflake for specific data
                        sources, and then specify one of the roles when configuring a Snowflake
                        stage.</dd>
                
                
            </dl></div>
    </div>
</article><article class="- topic/topic concept/concept topic concept nested1" aria-labelledby="ariaid-title6" id="concept_cft_qxm_qqb">
    <h2 class="- topic/title title topictitle2" id="ariaid-title6">SQL Queries</h2>
    <div class="- topic/body concept/conbody body conbody">
        <div class="- topic/p p">You can specify one or more queries to perform each time that the Snowflake executor
            receives an event record. Use the following details to configure the SQL queries:<dl class="- topic/dl dl">
                
                    <dt class="- topic/dt dt dlterm">Query submission</dt>
                    <dd class="- topic/dd dd">Configure the Query Submission property to define how the executor submits
                        your queries:<ul class="- topic/ul ul" id="concept_cft_qxm_qqb__ul_ggy_r1w_rqb" data-ofbid="concept_cft_qxm_qqb__ul_ggy_r1w_rqb">
                            <li class="- topic/li li">Consecutively - The executor submits one query at a time, and waits
                                until the previous query is complete before submitting the next
                                query. Queries are submitted in the order that they appear in the
                                executor.</li>
                            <li class="- topic/li li">Simultaneously - The executor submits all queries at the same time.
                                Snowflake processes the queries one at a time in the order that they
                                appear in the executor. Use this option to reduce network traffic.
                            </li>
                        </ul></dd>
                
                
                    <dt class="- topic/dt dt dlterm">Referencing tables</dt>
                    <dd class="- topic/dd dd">
                        <div class="- topic/p p">Each query can write to one or more Snowflake tables. When specifying a
                            table, use the full path to the table, as follows:
                            <pre class="+ topic/pre pr-d/codeblock pre codeblock"><code><em class="+ topic/ph hi-d/i ph i">&lt;warehouse&gt;</em>.&lt;database&gt;.&lt;schema&gt;.&lt;table&gt;</code></pre></div>
                        <p class="- topic/p p">Note that <code class="+ topic/ph pr-d/codeph ph codeph">&lt;warehouse&gt;</code> may be required in some
                            instances. </p>
                    </dd>
                
                
                    <dt class="- topic/dt dt dlterm">Expressions in queries</dt>
                    <dd class="- topic/dd dd">You can use <span class="- topic/ph ph">Data Collector</span> expressions in the SQL query. These expressions are evaluated before the
                        executor passes the query to Snowflake.</dd>
                    <dd class="- topic/dd dd ddexpand">For example, you can use <code class="+ topic/ph pr-d/codeph ph codeph">${record:value('/filename')}</code> to
                        reference the file name in the event record generated by the Snowflake File
                        Uploader destination.</dd>
                
            </dl></div>
        <section class="- topic/section section" id="concept_cft_qxm_qqb__section_pm4_y2s_sqb" data-ofbid="concept_cft_qxm_qqb__section_pm4_y2s_sqb"><h3 class="- topic/title title sectiontitle">Sample Queries</h3>To load each file written by
            the Snowflake File Uploader destination to the same Snowflake table, you might use the
            following
                query:<pre class="+ topic/pre pr-d/codeblock pre codeblock"><code>COPY into <em class="+ topic/ph hi-d/i ph i">&lt;target_warehouse&gt;.</em>&lt;target_database&gt;.&lt;target_schema&gt;.&lt;target_table&gt; 
from @<em class="+ topic/ph hi-d/i ph i">&lt;staging_warehouse&gt;.</em>&lt;staging_database&gt;.&lt;staging_schema&gt;.&lt;internal_stage/${record:value('/filename')}&gt;;</code></pre><div class="- topic/p p">For
                example:<pre class="+ topic/pre pr-d/codeblock pre codeblock"><code>COPY into sharedDB.sales.infotable
from @myDB.mystaging.sdcstaging/${record:value('/filename')};</code></pre></div><div class="- topic/p p">To
                load each file written by the Snowflake File Uploader destination to a table of the
                same name, you might use the following query, which uses the
                    <code class="+ topic/ph pr-d/codeph ph codeph">filename</code> field in the event
                record:<pre class="+ topic/pre pr-d/codeblock pre codeblock"><code>COPY into <em class="+ topic/ph hi-d/i ph i">&lt;target_warehouse&gt;</em>.&lt;target_database&gt;.&lt;target_schema&gt;.${record:value('/filename')} 
from @<em class="+ topic/ph hi-d/i ph i">&lt;staging_warehouse&gt;</em>.&lt;staging_database&gt;.&lt;staging_schema&gt;.&lt;internal_stage/${record:value('/filename')}&gt;;</code></pre></div><div class="- topic/p p">For
                example:<pre class="+ topic/pre pr-d/codeblock pre codeblock"><code>COPY into sharedDB.sales.${record:value('/filename')} 
from @myDB.mystaging.sdcstaging/${record:value('/filename')};</code></pre></div></section>
    </div>
</article><article class="- topic/topic concept/concept topic concept nested1" aria-labelledby="ariaid-title7" id="concept_tbs_2qx_rqb">
    <h2 class="- topic/title title topictitle2" id="ariaid-title7">Event Generation</h2>
    
    <div class="- topic/body concept/conbody body conbody"><p class="- topic/shortdesc shortdesc"></p>
        <p class="- topic/p p">The Snowflake executor can generate events that
            you can use in an event stream. When you enable event generation, the executor generates
            events for each successful or failed query.</p>
        <div class="- topic/p p">Snowflake executor events can be used in any logical way. For example: <ul class="- topic/ul ul" id="concept_tbs_2qx_rqb__ul_hkw_lpx_gjb" data-ofbid="concept_tbs_2qx_rqb__ul_hkw_lpx_gjb">
                <li class="- topic/li li">With the Email executor to send a custom email
                              after receiving an event.<p class="- topic/p p">For an example, see <a class="- topic/xref xref" href="../Solutions/SendEmail.html#concept_t2t_lp5_xz">Sending Email During Pipeline Processing</a>.</p></li>
                <li class="- topic/li li">With a destination to store event information.
                                    <p class="- topic/p p">For an example, see <a class="- topic/xref xref" href="../Solutions/EventStorage.html#concept_ocb_nnl_px">Preserving an Audit Trail of Events</a>.</p></li>
            </ul></div>
        <p class="- topic/p p"><span class="- topic/ph ph">For more information about dataflow
                        triggers and the event framework, see <a class="- topic/xref xref" href="../Event_Handling/EventFramework-Title.html#concept_cph_5h4_lx">Dataflow Triggers Overview</a>.</span></p>
    </div>
<article class="- topic/topic concept/concept topic concept nested2" aria-labelledby="ariaid-title8" id="concept_vvy_fqx_rqb">
    <h3 class="- topic/title title topictitle3" id="ariaid-title8">Event Record</h3>
    
    <div class="- topic/body concept/conbody body conbody"><p class="- topic/shortdesc shortdesc"></p>
        <div class="- topic/p p">Event records generated by the Snowflake
            executor have the following event-related record header attributes. Record header
            attributes are stored as String values.<div class="table-container"><table class="- topic/table table frame-all" id="concept_vvy_fqx_rqb__table_brz_3gp_qx" data-ofbid="concept_vvy_fqx_rqb__table_brz_3gp_qx" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
                        <tr class="- topic/row">
                            <th class="- topic/entry entry colsep-1 rowsep-1" id="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__1">Record Header Attribute</th>
                            <th class="- topic/entry entry colsep-0 rowsep-1" id="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__2">Description</th>
                        </tr>
                    </thead><tbody class="- topic/tbody tbody">
                        <tr class="- topic/row">
                            <td class="- topic/entry entry colsep-1 rowsep-1" headers="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__1">sdc.event.type</td>
                            <td class="- topic/entry entry colsep-0 rowsep-1" headers="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__2">Event type. Uses the following event types:<ul class="- topic/ul ul" id="concept_vvy_fqx_rqb__ul_p5t_l12_sqb" data-ofbid="concept_vvy_fqx_rqb__ul_p5t_l12_sqb">
                        <li class="- topic/li li">successful-query - Generated after a query successfully completes. </li>
                        <li class="- topic/li li">failed-query - Generated after a query fails.</li>
                  </ul></td>
                        </tr>
                        <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__1">sdc.event.version</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__2">Integer that indicates the version of the event record type.</td>
            </tr>
                        <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-0" headers="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__1">sdc.event.creation_timestamp</td>
              <td class="- topic/entry entry colsep-0 rowsep-0" id="concept_vvy_fqx_rqb__entry-Event-creationDate" headers="concept_vvy_fqx_rqb__table_brz_3gp_qx__entry__2">Epoch timestamp when the stage created the event.
              </td>
            </tr>
                    </tbody></table></div></div>
        <div class="- topic/p p">The Snowflake executor can generate the following types of event records:<dl class="- topic/dl dl">
                        
                              <dt class="- topic/dt dt dlterm">Successful query</dt>
                              <dd class="- topic/dd dd">
                                    <p class="- topic/p p">The executor generates a successful-query event record after
                                          successfully completing a query. </p>
                                    <div class="- topic/p p">Successful-query event records have the
                                                <code class="+ topic/ph pr-d/codeph ph codeph">sdc.event.type</code> record header
                                          attribute set to <code class="+ topic/ph pr-d/codeph ph codeph">sucessful-query</code> and
                                          include the following fields: <div class="table-container"><table class="- topic/table table frame-all" id="concept_vvy_fqx_rqb__table_rzy_xd2_pz" data-ofbid="concept_vvy_fqx_rqb__table_rzy_xd2_pz" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
                                                  <tr class="- topic/row">
                                                  <th class="- topic/entry entry colsep-1 rowsep-1" id="concept_vvy_fqx_rqb__table_rzy_xd2_pz__entry__1">Event Field Name</th>
                                                  <th class="- topic/entry entry colsep-0 rowsep-1" id="concept_vvy_fqx_rqb__table_rzy_xd2_pz__entry__2">Description</th>
                                                  </tr>
                                                  </thead><tbody class="- topic/tbody tbody">
                                                  <tr class="- topic/row">
                                                  <td class="- topic/entry entry colsep-1 rowsep-1" headers="concept_vvy_fqx_rqb__table_rzy_xd2_pz__entry__1">query</td>
                                                  <td class="- topic/entry entry colsep-0 rowsep-1" headers="concept_vvy_fqx_rqb__table_rzy_xd2_pz__entry__2">Query completed.</td>
                                                  </tr>
                                                  <tr class="- topic/row">
                                                  <td class="- topic/entry entry colsep-1 rowsep-0" headers="concept_vvy_fqx_rqb__table_rzy_xd2_pz__entry__1">query-result</td>
                                                  <td class="- topic/entry entry colsep-0 rowsep-0" headers="concept_vvy_fqx_rqb__table_rzy_xd2_pz__entry__2">Number of rows affected by query. Included
                                                  if the Include Query Result Count in Events
                                                  property is selected.</td>
                                                  </tr>
                                                  </tbody></table></div></div>
                              </dd>
                        
                        
                              <dt class="- topic/dt dt dlterm">Failed query</dt>
                              <dd class="- topic/dd dd">
                                    <p class="- topic/p p">The executor generates a failed-query event record after
                                          failing to complete a query.</p>
                                    <div class="- topic/p p">Failed-query event records have the
                                                <code class="+ topic/ph pr-d/codeph ph codeph">sdc.event.type</code> record header
                                          attribute set to <code class="+ topic/ph pr-d/codeph ph codeph">failed-query</code> and include
                                          the following field: <div class="table-container"><table class="- topic/table table frame-all" id="concept_vvy_fqx_rqb__table_jtk_zd2_pz" data-ofbid="concept_vvy_fqx_rqb__table_jtk_zd2_pz" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
                                                  <tr class="- topic/row">
                                                  <th class="- topic/entry entry colsep-1 rowsep-1" id="concept_vvy_fqx_rqb__table_jtk_zd2_pz__entry__1">Event Field Name</th>
                                                  <th class="- topic/entry entry colsep-0 rowsep-1" id="concept_vvy_fqx_rqb__table_jtk_zd2_pz__entry__2">Description</th>
                                                  </tr>
                                                  </thead><tbody class="- topic/tbody tbody">
                                                  <tr class="- topic/row">
                                                  <td class="- topic/entry entry colsep-1 rowsep-0" headers="concept_vvy_fqx_rqb__table_jtk_zd2_pz__entry__1">query</td>
                                                  <td class="- topic/entry entry colsep-0 rowsep-0" headers="concept_vvy_fqx_rqb__table_jtk_zd2_pz__entry__2">Query attempted.</td>
                                                  </tr>
                                                  </tbody></table></div></div>
                              </dd>
                        
                  </dl></div>
    </div>
</article></article><article class="- topic/topic task/task topic task nested1" aria-labelledby="ariaid-title9" id="task_ftt_2rn_4qb">
    <h2 class="- topic/title title topictitle2" id="ariaid-title9">Configuring a Snowflake Executor</h2>
    <div class="- topic/body task/taskbody body taskbody">
        <section class="- topic/section task/context section context">
            <p class="- topic/p p">Configure a Snowflake executor to write staged whole files to Snowflake tables.
                Before you use the executor in a pipeline, complete the <a class="- topic/xref xref" href="Snowflake-E.html#concept_f4z_zzn_4qb">prerequisite task</a>.</p>
        </section>
        <section class="- topic/ol task/steps ol steps"><ol class="- topic/ol task/steps ol steps"><li class="- topic/li task/step li step">
                <span class="- topic/ph task/cmd ph cmd">In the Properties panel, on the <span class="+ topic/keyword ui-d/wintitle keyword wintitle">General</span> tab, configure the
                    following properties:</span>
                <div class="- topic/itemgroup task/info itemgroup info">
                    <div class="table-container"><table class="- topic/table table frame-all" id="task_ftt_2rn_4qb__table_yxz_pvs_5x" data-ofbid="task_ftt_2rn_4qb__table_yxz_pvs_5x" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
                                <tr class="- topic/row">
                                    <th class="- topic/entry entry colsep-1 rowsep-1" id="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__1">General Property</th>
                                    <th class="- topic/entry entry colsep-0 rowsep-1" id="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__2">Description</th>
                                </tr>
                            </thead><tbody class="- topic/tbody tbody">
                                <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__1">Name</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__2">Stage name.</td>
            </tr>
                                <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__1">Description</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__2">Optional description.</td>
            </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__1"><a class="- topic/xref xref" href="Snowflake-E.html#concept_tbs_2qx_rqb">Produce Events</a></td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__2">Generates event records when events occur. Use for
                  <a class="- topic/xref xref" href="../Event_Handling/EventFramework-Title.html#concept_cph_5h4_lx">event handling</a>.</td>
                                </tr>
                                <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__1"><a class="- topic/xref xref" href="../Pipeline_Design/DroppingUnwantedRecords.html#concept_dnj_bkm_vq">Required Fields</a></td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__2">Fields that must include data for the record to be passed into the stage. <div class="- topic/note note tip note_tip"><span class="note__title">Tip:</span> You might include fields that the stage
                  uses.</div><p class="- topic/p p">Records that do not include all required fields are processed based
                  on the error handling configured for the pipeline.</p></td>
            </tr>
                                <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-0" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__1"><a class="- topic/xref xref" href="../Pipeline_Design/DroppingUnwantedRecords.html#concept_msl_yd4_fs">Preconditions</a></td>
              <td class="- topic/entry entry colsep-0 rowsep-0" headers="task_ftt_2rn_4qb__table_yxz_pvs_5x__entry__2">Conditions that must evaluate to TRUE to allow a record to enter the stage for
                processing. Click <span class="+ topic/ph ui-d/uicontrol ph uicontrol">Add</span> to create additional preconditions.
                  <p class="- topic/p p">Records that do not meet all preconditions are processed based on the error
                  handling configured for the stage.</p></td>
            </tr>
                            </tbody></table></div>
                </div>
            </li><li class="- topic/li task/step li step">
                <span class="- topic/ph task/cmd ph cmd">On the <span class="+ topic/keyword ui-d/wintitle keyword wintitle">Snowflake Connection Info</span> tab, configure the
                    following properties:</span>
                <div class="- topic/itemgroup task/info itemgroup info">
                    <div class="- topic/note note note note_note" id="task_ftt_2rn_4qb__note_wlc_23q_f1c" data-ofbid="task_ftt_2rn_4qb__note_wlc_23q_f1c"><span class="note__title">Note:</span> Snowflake JDBC driver versions 3.13.25 or higher
                convert underscores to hyphens, by default. <span class="- topic/ph ph" id="task_ftt_2rn_4qb__ph-driverUnderscores">When
                    needed, you can bypass this behavior by setting the
                        <code class="+ topic/ph pr-d/codeph ph codeph">allowUnderscoresInHost</code> driver property to
                        <code class="+ topic/ph pr-d/codeph ph codeph">true</code>. For more information and alternate solutions, see
                    this <a class="- topic/xref xref" href="https://community.snowflake.com/s/article/Behaviour-Change-Release-information-associated-with-Snowflake-JDBC-driver-version-3-13-25" target="_blank" rel="external noopener">Snowflake community
                article</a>.</span></div>
                </div>
                <div class="- topic/itemgroup task/info itemgroup info">
                    <div class="table-container"><table class="- topic/table table frame-all" id="task_ftt_2rn_4qb__table_bjp_nkd_1gb" data-ofbid="task_ftt_2rn_4qb__table_bjp_nkd_1gb" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
                                <tr class="- topic/row">
                                    <th class="- topic/entry entry colsep-1 rowsep-1" id="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Snowflake Connection Property</th>
                                    <th class="- topic/entry entry colsep-0 rowsep-1" id="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Description</th>
                                </tr>
                            </thead><tbody class="- topic/tbody tbody">
                                
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Snowflake Region</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Region where the Snowflake warehouse is located. Select one of the
                                following:<ul class="- topic/ul ul" id="task_ftt_2rn_4qb__ul_i1n_jgq_ggb" data-ofbid="task_ftt_2rn_4qb__ul_i1n_jgq_ggb">
                                <li class="- topic/li li">An available Snowflake region.</li>
                                <li class="- topic/li li">Other - Enables specifying a Snowflake region not listed in the
                                    property.</li>
                                <li class="- topic/li li">Custom JDBC URL - Enables specifying a virtual private Snowflake
                                    installation.</li>
                            </ul><p class="- topic/p p">Available when Include Organization is disabled.</p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Custom Snowflake Region</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Custom Snowflake region. Available when using Other as the Snowflake
                            region.</td>
                    </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Organization</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2"><span class="- topic/ph ph">Snowflake organization.</span></td>
                                </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Account</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Snowflake account name.</td>
                    </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Authentication Method</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2"><div class="- topic/p p">Authentication method to connect to Snowflake:<ul class="- topic/ul ul" id="task_ftt_2rn_4qb__ul_nql_nyb_1bc" data-ofbid="task_ftt_2rn_4qb__ul_nql_nyb_1bc">
                                    <li class="- topic/li li">User Credentials</li>
                                    <li class="- topic/li li">Key Pair Path - Use to specify the location of a private key
                                        file. </li>
                                    <li class="- topic/li li">Key Pair Content - Use to provide the contents of a private
                                        key file. </li>
                                    <li class="- topic/li li">OAuth</li>
                                    <li class="- topic/li li">None</li>
                                </ul></div></td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">User</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Snowflake user name.<p class="- topic/p p">The user account or the
                                custom role that overrides the default role for this user account
                                must have the required Snowflake privileges. </p><p class="- topic/p p">For information about required privileges, see
                                                <a class="- topic/xref xref" href="Snowflake-E.html#concept_f4z_zzn_4qb">Prerequisite</a>.</p><p class="- topic/p p">Required when using
                                        authentication.</p></td>
                                </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Password</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Snowflake password.<p class="- topic/p p">Required when using User Credentials
                                authentication.</p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Private Key Path</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Path to the private key file. <p class="- topic/p p">Required when using Key Pair Path
                                authentication. </p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Private Key Content</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Contents of the private key file. <p class="- topic/p p">Required when using Key Pair
                                Content authentication.</p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Private Key Password</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Optional password for the specified private key file or content. Use
                            for encrypted private keys.<p class="- topic/p p">Available when using Key Pair Path or Key
                                Pair Content authentication.</p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">OAuth Token</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" id="task_ftt_2rn_4qb__entry-OAuthToken" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">OAuth token to use. You can use a Snowflake
                            security integration access token, refresh token, or code
                                grant.<p class="- topic/p p">Required when using OAuth authentication.</p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">OAuth Client ID</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Client ID for Snowflake security integration access
                                tokens.<p class="- topic/p p">Available when using OAuth authentication.</p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">OAuth Client Secret</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Client secret for Snowflake security integration access
                                tokens.<p class="- topic/p p">Available when using OAuth authentication.</p></td>
                    </tr>
                                <tr class="- topic/row">
                        <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">OAuth Redirect URI</td>
                        <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Redirect URI for Snowflake security integration access
                                tokens.<p class="- topic/p p">Available when using OAuth authentication.</p></td>
                    </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1"><a class="- topic/xref xref" href="Snowflake-E.html#concept_ct5_ynb_pqb">Role</a></td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2"><span class="- topic/ph ph">Overrides the default role for the specified
                                user account.</span><p class="- topic/p p">The custom role must have the required Snowflake
                                            privileges. The required privileges depend on the
                                            queries that the executor uses. For details, see <a class="- topic/xref xref" href="Snowflake-E.html#concept_f4z_zzn_4qb">Prerequisite</a>.</p><p class="- topic/p p"></p></td>
                                </tr>
                                <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Warehouse</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Snowflake warehouse.<p class="- topic/p p"></p></td>
            </tr>
                                <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Database</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Snowflake database.<p class="- topic/p p"></p></td>
            </tr>
                                <tr class="- topic/row">
              <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Schema</td>
              <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Snowflake schema.<p class="- topic/p p"></p></td>
            </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Use a Custom JDBC URL</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Custom JDBC URL to use when using a virtual
                            private Snowflake installation.</td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Include Organization</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2"><span class="- topic/ph ph">Enables specifying the Snowflake
                                organization.</span></td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1"><a class="- topic/xref xref" href="Snowflake-E.html#concept_cft_qxm_qqb">Connection Pool Size</a></td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Maximum number of connections that the executor uses. The
                                        default, 0, ensures that the executor uses the same number
                                        of connections as threads used by the pipeline. <p class="- topic/p p">When
                                            writing to multiple tables, increasing this property can
                                            improve performance.</p></td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Use Private Link Snowflake URL</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2"><span class="- topic/ph ph">Enables using a
                                private link URL.</span><p class="- topic/p p"><span class="- topic/ph ph">You can specify
                                    the URL in the Custom JDBC URL property above. Or, you can
                                    define the appropriate values for the Account property and
                                    either the Snowflake Region or Organization
                                properties.</span></p></td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-0" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__1">Connection Properties</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-0" headers="task_ftt_2rn_4qb__table_bjp_nkd_1gb__entry__2">Additional Snowflake connection properties to use. <p class="- topic/p p">To
                                            add properties, click <span class="+ topic/ph ui-d/uicontrol ph uicontrol">Add</span> and
                                            define the property name and value. Use the property
                                            names and values as expected by Snowflake.</p></td>
                                </tr>
                            </tbody></table></div>
                </div>
            </li><li class="- topic/li task/step li step">
                <span class="- topic/ph task/cmd ph cmd">On the <span class="+ topic/keyword ui-d/wintitle keyword wintitle">Queries</span> tab, configure the following
                    properties:</span>
                <div class="- topic/itemgroup task/info itemgroup info">
                    <div class="table-container"><table class="- topic/table table frame-all" id="task_ftt_2rn_4qb__table_y5h_4jn_qqb" data-ofbid="task_ftt_2rn_4qb__table_y5h_4jn_qqb" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
                                <tr class="- topic/row">
                                    <th class="- topic/entry entry colsep-1 rowsep-1" id="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__1">Queries Property</th>
                                    <th class="- topic/entry entry colsep-0 rowsep-1" id="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__2">Description</th>
                                </tr>
                            </thead><tbody class="- topic/tbody tbody">
                                
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__1"><a class="- topic/xref xref" href="Snowflake-E.html#concept_cft_qxm_qqb">SQL Queries</a></td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__2">One or more SQL queries to execute upon receiving an
                                        event record. By default, queries are executed in the
                                        specified order. <p class="- topic/p p">To add additional queries, click
                                                <span class="+ topic/ph ui-d/uicontrol ph uicontrol">Add</span>.</p></td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__1">Query Submission</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__2">Determines how the executor submits multiple queries:<ul class="- topic/ul ul" id="task_ftt_2rn_4qb__ul_fsp_syt_sqb" data-ofbid="task_ftt_2rn_4qb__ul_fsp_syt_sqb">
                                            <li class="- topic/li li">Sequential - Submits a query and waits for query
                                                completion before submitting another.</li>
                                            <li class="- topic/li li">Parallel - Submits all queries at once.</li>
                                        </ul><p class="- topic/p p">By default, the executor waits for a query to
                                            complete before submitting the next query.</p></td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-0" headers="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__1">Include Query Result Count in Events</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-0" headers="task_ftt_2rn_4qb__table_y5h_4jn_qqb__entry__2">When the executor is configured to generate events, the
                                        executor includes query result counts in event
                                        records.</td>
                                </tr>
                            </tbody></table></div>
                </div>
            </li><li class="- topic/li task/step li step">
                <span class="- topic/ph task/cmd ph cmd">On the <span class="+ topic/keyword ui-d/wintitle keyword wintitle">Resilience</span> tab, configure the following
                    properties:</span>
                <div class="- topic/itemgroup task/info itemgroup info">
                    <div class="table-container"><table class="- topic/table table frame-all" data-cols="2"><caption></caption><colgroup><col style="width:30%"/><col style="width:70%"/></colgroup><thead class="- topic/thead thead">
                                <tr class="- topic/row">
                                    <th class="- topic/entry entry colsep-1 rowsep-1" id="task_ftt_2rn_4qb__entry__69">Resilience Property</th>
                                    <th class="- topic/entry entry colsep-0 rowsep-1" id="task_ftt_2rn_4qb__entry__70">Description</th>
                                </tr>
                            </thead><tbody class="- topic/tbody tbody">
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-1" headers="task_ftt_2rn_4qb__entry__69">Max Connection Attempts</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-1" headers="task_ftt_2rn_4qb__entry__70">Maximum number of attempts to establish a connection to
                                        the data source.<p class="- topic/p p">Default is 3.</p></td>
                                </tr>
                                <tr class="- topic/row">
                                    <td class="- topic/entry entry colsep-1 rowsep-0" headers="task_ftt_2rn_4qb__entry__69">Wait Duration</td>
                                    <td class="- topic/entry entry colsep-0 rowsep-0" headers="task_ftt_2rn_4qb__entry__70">Time in seconds to wait between attempts to establish a
                                        connection to the data source.<p class="- topic/p p">Default is 10
                                        seconds.</p></td>
                                </tr>
                            </tbody></table></div>
                </div>
            </li></ol></section>
    </div>
</article></article></article></main></div>

                        
                        
                        


                    </div>
                    
                </div>
            </div>


        </div> <nav class="navbar navbar-default wh_footer" data-whc_version="25.0">
  <div class=" footer-container  mx-auto">
    <!-- script for Data Collector, all flavors, but only used when accessed directly, not from portal --><script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-60917135-3', 'auto');
  ga('send', 'pageview');
</script>
  </div>
</nav>

        
        <div id="go2top">
            <span class="oxy-icon oxy-icon-up"></span>
        </div>
        
        <!-- The modal container for images -->
        <div id="modal_img_large" class="modal">
            <span class="close oxy-icon oxy-icon-remove"></span>
            <!-- Modal Content (The Image) -->
            <div id="modal_img_container"></div>
            <!-- Modal Caption (Image Text) -->
            <div id="caption"></div>
        </div>
        
        
        Â© 2023 StreamSets, Inc.

    </body>
</html>